<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<!-- 
    1.什么是函数?
        *实现特定功能的n条语句的封装体
        *只有函数可以执行，其他类型的数据不能执行
    2.为什么要用函数?
        *提高代码复用
        *便于阅读交流
    3.如何定义函数?
        *函数声明
        *表达式
    4.如何调用(执行)函数?
        *test(): 直接调用
        *obj.test():  通过对象调用
        *new test():  new调用
        *test.call/apply(obj):  临时让test成为obj的方法进行调用
 -->
<script>
    /*
     编写程序实现以下功能需求:
        1.根据年龄输出对应的信息
        2．如果小于18，输出:未成年,再等等!
        3．如果大于60，输出:算了吧!
        4.其它,输出:刚好!
    */
    function showInfo(age){
        if(age<18){
            console.log('未成年,再等等!')
        }else if(age > 60){
            console.log('算了吧!');
        }else{
            console.log('刚好!');
        }
    }
    showInfo(10);
    showInfo(20);
    showInfo(70);

    // 函数声明
    function fn1(){
        console.log('fn1');
    }
    // 表达式
    var fn2 = function(){
        console.log('fn2');
    }
    fn1()
    fn2()

    var obj = {}
    function test2(){
        this.xxx = 'PG'
    }
    // obj.test2()      不能直接调用，obj里面没有text2
    test2.call(obj)   //obj.test2()   //可以让一个函数成为指定任意对象的方法进行调用
    console.log(obj.xxx);   // 'PG'
</script>    
</body>
</html>